//
/***********************************************************
             File name:      main.c
             Author:         Bitat (陆叁柒)
             Email :         Bitat@qq.com
             Gitee :         https://gitee.com/bitat
             CSDN  :         https://blog.csdn.net/bitat 
             History:        2023/1/17
************************************************************/
    
//冒泡排序的趟数和排序的过程次数相等 
//形参传递的是数组首元素地址，实参则为指针
//数组名是数组首元素的地址
//但是有2个例外：
//sizeof(数组名)，数组名如果单独放在sizeof内部，这里的数组名表示整个数组，计算的是整个数组的大小
//&数组名，这里的数组名表示整个数组，取出的是整个数组的地址


#include <stdio.h>

void bubble_sort(int* arr, int sz)
{
    int i = 0;
    for(i = 0; i < sz-1; i++)
    {
        int j = 0;
        for(j = 0; j < sz-1-i; j++)
        {
            if(arr[j] > arr[j+1])
            {
                int tmp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = tmp;
            }
        }
    }
    for(i = 0; i < sz; i++)
    {
        printf("%d ",arr[i]);
    }
    printf("\n");
}

int main()
{
    int i = 0;
    int arr[10] = {1,3,5,7,9,2,4,6,8,0};
    int sz = sizeof(arr)/sizeof(arr[0]);
    bubble_sort(arr,sz);
    
    return 0;
}
